package com.waya.web.browser.player;

/**
 * Created by JesseHev on 2018/1/18.
 * describe:
 */

public interface PlayerInterface {

    /**
     * 设置断点续播，需要在openDefaultPlayer接口之前或start之前调用
     *
     * @param position 断点位置  以毫秒为单位
     * @return 0表示成功，-1表示失败
     */
    int setBreakpoint(int position);

    /**
     * @param urls 设置播放列表，如有多个地址以’,’号分隔
     * @return 0表示成功，-1表示失败
     */
    int openDefaultPlayer(String urls);


    /**
     * @param left   设置播放器位置left
     * @param top    设置播放器位置top
     * @param width  设置播放器宽，-1表示全屏
     * @param height 调协播放器高，-1表示全屏
     * @return 0表示成功，-1表示失败
     */
    int setDisplay(int left, int top, int width, int height);

    /**
     * 设置播放列表，播放完后会自动播放下一条
     *
     * @param urls 播放列表，如果多条则以’,’号分隔
     * @return 0表示成功，-1表示失败
     */
    int setDataSourceList(String urls);

    /**
     * 设置播放源
     *
     * @param url 播放地址
     * @return 0表示成功，-1表示失败
     */
    int setDataSource(String url);

    /**
     * 开始播放
     *
     * @return 0表示成功，-1表示失败
     */
    int start();

    /**
     * 播放
     *
     * @return 0表示成功，-1表示失败
     */
    int play();

    /**
     * 暂停
     *
     * @return 0表示成功，-1表示失败
     */
    int pause();

    /**
     * 获取播放时长
     *
     * @return 当前影片总片长，以毫秒为单位
     */
    int getDuration();

    /**
     * 获取当前播放的位置
     *
     * @return 当前播放位置，以毫秒为单位
     */
    int getCurrentPosition();

    /**
     * @param position 快进或快退到的位置
     * @return 0表示成功，-1表示失败
     */
    int seekTo(int position);


    /**
     * 全屏播放
     *
     * @return 0表示成功，-1表示失败
     */
    int fullScreen();

    /**
     * 退出全屏播放
     *
     * @return 0表示成功，-1表示失败
     */
    int exitFullScreen();

    /**
     * 释放播放器
     *
     * @return 0表示成功，-1表示失败
     */
    int release();

    /**
     * 上报播放错误
     *
     * @param code 错误码
     * @param msg  错误消息
     */
    void onError(String code, String msg);

    /**
     * 上报播放完成
     */
    void onCompleted();

    /**
     * 上报退出全屏播放事件
     */
    void onExit();
}
